package com.spic.business.blast.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.common.core.annotation.Excel;
import com.spic.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 爆破布防对象 blast_deployment
 *
 * @author spic
 * @date 2022-03-03
 */
@Data
public class BlastDeployment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String taskName;

    /** 编号：BP2022070801 */
    @Excel(name = "编号：BP2022070801")
    private String code;

    /** 爆破位置 */
    @Excel(name = "爆破位置")
    private String blastPosition;

    /** 200:深孔位布防范围外扩200米 300:浅孔位布防外扩300米 450:深孔位布防外扩450米 */
    @Excel(name = "200:深孔位布防范围外扩200米 300:浅孔位布防外扩300米 450:深孔位布防外扩450米")
    private String holePositionType;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /** 计划结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 装药位置{["longitude":"119.24","latitude":""]} */
    /**
     * {["longitude":"119.24","latitude":""]}
     */
    @Excel(name = "装药位置")
    private String chargePosition;

    /** 开始布防时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "开始布防时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginDeploymentTime;

    /** 结束布防时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "结束布防时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endDeploymentTime;

    /** 总药量 */
    @Excel(name = "总药量")
    private BigDecimal totalExplosiveDosage;

    /** 爆破立米数 */
    @Excel(name = "爆破立米数")
    private BigDecimal blastCubicMeter;

    /** 炸药单耗=总药量/爆破立米数 */
    @Excel(name = "炸药单耗=总药量/爆破立米数")
    private BigDecimal specificCharge;

    /** 数码电子雷管总数 */
    @Excel(name = "数码电子雷管总数")
    private Integer totalElectronicDetonator;

    /** 状态 :状态 :1 装药   2调度确认 3 开始布防 4 撤销布防 5开始爆破 6结束 */
    @Excel(name = "状态 ::1 装药   2调度确认 3 开始布防 4 撤销布防 5开始爆破 6结束")
    private String state;
    //引爆时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date detonationTime;

    //脚线-米
    private String footLine;
    //起爆弹-发
    private String eetonatingBomb;
    //设计单耗  kg/立方米
    private BigDecimal designUnitConsumption;
    //孔炸药用量
    private BigDecimal totalHole;
    //流程附件
    private String flowFile;

    //调度确认人名字
    private String confirmationPeople;
    //调度确认人的id
    private String confirmationPeopleId;
    //调度时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date confirmationTime;
    //用于更新时判断可以修改数据
    private Boolean isUpdate;
    //摄像头名称 下拉列表
    private String cameraIndexCodeType;
    //语音文件
    private String voiceFile;

    private String unarmFileUrl; //撤销布防

    /** 孔数信息子信息 */
    private List<BlastDeploymentHoleSubtable> blastDeploymentHoleSubtableList;
    /** 炸药子信息 */
    private List<BlastDeploymentExplosiveSubtable> blastDeploymentExplosiveSubtableList;
    //爆破器材使用明细
    private List<BlastDeploymentDetonatorSubtable> blastDeploymentDetonatorSubtableList;
}
